Geospatial modeling system providing building roof type identification features and related methods

ABSTRACT

A geospatial modeling system may include a geospatial model database and a processor. The processor may cooperate with the geospatial database for identifying a building roof type defined by building roof data points as being from among a plurality of possible building roof types. This may be done based upon applying multi-directional gradient calculations to the building roof data points.

The present invention relates to the field of topography, and, moreparticularly, to a system and related methods for generatingtopographical models.

BACKGROUND OF THE INVENTION

Topographical models of geographical areas may be used for manyapplications. For example, topographical models may be used in flightsimulators and for planning military missions. Furthermore,topographical models of man-made structures (e.g., cities) may beextremely helpful in applications such as cellular antenna placement,urban planning, disaster preparedness and analysis, and mapping, forexample.

Various types and methods for making topographical models are presentlybeing used. One common topographical model is the digital elevation map(DEM). A DEM is a sampled matrix representation of a geographical areawhich may be generated in an automated fashion by a computer. In a DEM,coordinate points are made to correspond with a height value. DEMs aretypically used for modeling terrain where the transitions betweendifferent elevations (e.g., valleys, mountains, etc.) are generallysmooth from one to a next. That is, DEMs typically model terrain as aplurality of curved surfaces and any discontinuities therebetween arethus “smoothed” over. Thus, in a typical DEM no distinct objects arepresent on the terrain.

One particularly advantageous 3D site modeling product is RealSite® fromthe present Assignee Harris Corp. RealSite® may be used to registeroverlapping images of a geographical area of interest, and extract highresolution DEMs using stereo and nadir view techniques. RealSite®provides a semi-automated process for making three-dimensional (3D)topographical models of geographical areas, including cities, that haveaccurate textures and structure boundaries. Moreover, RealSite® modelsare geospatially accurate. That is, the location of any given pointwithin the model corresponds to an actual location in the geographicalarea with very high accuracy. The data used to generate RealSite® modelsmay include aerial and satellite photography, electro-optical, infrared,and light detection and ranging (LIDAR).

Another advantageous approach for generating 3D site models is set forthin U.S. Pat. No. 6,654,690 to Rahmes et al., which is also assigned tothe present Assignee and is hereby incorporated herein in its entiretyby reference. This patent discloses an automated method for making atopographical model of an area including terrain and buildings thereonbased upon randomly spaced data of elevation versus position. The methodincludes processing the randomly spaced data to generate gridded data ofelevation versus position conforming to a predetermined position grid,processing the gridded data to distinguish building data from terraindata, and performing polygon extraction for the building data to makethe topographical model of the area including terrain and buildingsthereon.

One difficulty in generating automated topographical models isdistinguishing between the various types of building structures that arepresent in a given set of geospatial data. That is, it is oftendesirable to substitute a rendering of a building and its roof usinggeometric shapes in place of collected geospatial data to provide crispand realistic looking buildings. However, buildings may have differentroof types, such as flat roofs, sloped (e.g., gabled or hipped) roofs,or domed roofs, for example. Moreover, some complex building shapes mayhave multiple roof types or combinations thereof. For example, somebuildings may have multiple intersecting sloped roofs. Thus, it oftenbecomes necessary for an operator to intervene and manually identify abuilding or roof type from building data points before an automatedcomputer process can be used to substitute the appropriate buildingshapes therefor. Yet, such manual intervention is time consuming and, asa result, expensive and potentially cost prohibitive for manyapplications, particularly where topographical models of urban areaswith numerous buildings are to be generated.

SUMMARY OF THE INVENTION

In view of the foregoing background, it is therefore an object of thepresent invention to provide a geospatial modeling system for providingbuilding roof type identification features and related methods.

This and other objects, features, and advantages are provided by ageospatial modeling system which may include a geospatial model databaseand a processor. More particularly, the processor may cooperate with thegeospatial database for identifying a building roof type defined bybuilding roof data points as being from among a plurality of possiblebuilding roof types. This may be done based upon applyingmulti-directional gradient calculations to the building roof datapoints.

In addition, the processor may identify the building roof type as beingfrom among a flat roof type, a sloped roof type, a complex sloped rooftype, and a domed roof type. The multi-direction gradient calculationsmay include Robert's cross calculations. More specifically, the Robert'scross calculations may include eight-way Robert's cross calculations,for example. The processor may further remove ground and vegetation datapoints from geospatial model data to select the building roof datapoints.

The multi-direction gradient calculations may include using a gridcentered for each building roof data point, summing distances ofopposite sides in the grid, and identifying building roof data pointswhose sum is within a threshold from zero as being localized peak datapoints. More particularly, the multi-direction gradient calculations mayfurther include determining a standard deviation for localized peak datapoints over a selected building roof area, and if the selected buildingroof area is greater than a threshold portion of a total building roofarea, and if the standard deviation is below a threshold standarddeviation, then indicating the building roof type as a flat roof type.

The multi-direction gradient calculations may also include removinggroups of contiguous localized peak data points being less than athreshold in number. Further, the multi-direction gradient calculationsmay include determining if a length of contiguous localized peak datapoints remains, and, if so, then identifying the building roof type as asloped roof type. In addition, a plurality of intersecting lengths ofcontiguous localized peak data points may be determined, and, if so, thebuilding roof type may be identified as a complex sloped roof type.

Furthermore, the processor may determine whether the building roof datapoints define a circular shape, and the multi-direction gradientcalculations may include calculating at least one elevation histogramfor the roof building data points. Moreover, the multi-directiongradient calculations may include calculating elevation histogram datafor the roof building data points, and, if a standard deviation of theelevation histogram data is below a threshold, then identifying thebuilding roof type as a domed roof type.

Additionally, the geospatial model database may store at least onerespective building roof shape for each of the plurality of possiblebuilding roof types. As such, the processor may cooperate with thegeospatial model database to substitute in place of the building roofdata points the at least one respective building roof shape for theidentified building roof type.

A geospatial modeling method aspect may include storing building roofdata points in a geospatial model database. The method may furtherinclude identifying a building roof type defined by building roof datapoints as being from among a plurality of possible building roof typesusing a processor based upon applying multi-directional gradientcalculations to the building roof data points.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block diagram of a geospatial modeling system inaccordance with the invention.

FIG. 2 is a flow diagram illustrating a geospatial modeling method inaccordance with the invention.

FIG. 3 is a series of top views of flat building roof data pointsillustrating the flat building roof identification method steps of FIG.2.

FIG. 4 is a series of top views of sloped building roof data pointsillustrating the sloped building roof identification method steps ofFIG. 2.

FIGS. 5-8 are schematic block diagrams illustrating complex sloped roofrendering in accordance with the invention.

FIG. 9 is top view of domed roof building data points and correspondinghistogram representations therefor illustrating the doomed roofidentification method steps of FIG. 2.

FIG. 10 is a perspective view of buildings with flat and sloped roofsrendered in accordance with the present invention.

FIGS. 11 and 12 are perspective views of buildings with complex slopedroofs rendered in accordance with the present invention.

FIG. 13 is a perspective view of a domed roof building rendered inaccordance with the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention will now be described more fully hereinafter withreference to the accompanying drawings, in which preferred embodimentsof the invention are shown. This invention may, however, be embodied inmany different forms and should not be construed as limited to theembodiments set forth herein. Rather, these embodiments are provided sothat this disclosure will be thorough and complete, and will fullyconvey the scope of the invention to those skilled in the art. Likenumbers refer to like elements throughout.

Referring initially to FIG. 1, a geospatial modeling system 20illustratively includes a geospatial model database 21 and a processor22 that may advantageously be used for identifying and renderingdifferent types of building roofs. By way of example, the processor 22may be a central processing unit (CPU) of a PC, Mac, or other computingworkstation, for example. A display 23 may also be coupled to theprocessor 22 for displaying geospatial modeling data, as will bediscussed further below. The processor 22 may be implemented using acombination of hardware and software components to perform the variousoperations that will be discussed further below, as will be appreciatedby those skilled in the art.

By way of example, the geospatial data may be captured using varioustechniques such as stereo optical imagery, Light Detecting and Ranging(LIDAR), Interferometric Synthetic Aperture Radar (IFSAR), etc.Generally speaking, the data will be captured from overhead (e.g.,nadir) views of the geographical area of interest by airplanes,satellites, etc., as will be appreciated by those skilled in the art.However, oblique images of a geographical area of interest may also beused in addition to (or instead of) the nadir images to add additional3D detail to a geospatial model. The raw image data captured usingLIDAR, etc., may be processed upstream from the geospatial modeldatabase 21 into a desired format, such as a digital elevation model(DEM), or this may be done by the processor 22.

Turning now to FIGS. 2 through 9, beginning at Block 30, the processor22 may remove ground and vegetation data points from geospatial modeldata to select building roof data points for processing, at Block 31. Byway of example, this may be done using the process set forth in theabove-noted U.S. Pat. No. 6,654,690 to Rahmes et al., as well as withRealSite® or other suitable approaches. Once the building roof datapoints are isolated, the processor 22 may begin identifying the buildingroof type defined by the building roof data points as being from among aplurality of possible building roof types. By way of example, thebuilding roof types may include flat roofs, sloped roofs, complexslopeds roofs, and domed roofs (or combinations thereof). Generallyspeaking, this identification is done based upon applyingmulti-directional gradient calculations to the building roof datapoints.

More particularly, in the example shown in FIG. 3, building roof datapoints 50 are from a building with a flat roof. The multi-directiongradient calculations may include Robert's cross calculations and, morespecifically, calculations based upon an eight-way (i.e., 3×3) Robert'scross grid 51, for example. This is done by centering the Robert's crossgrid 51 for each building data point 50, summing distances of points onopposite sides in the grid, and identifying building roof data pointswhose sum is within a threshold from zero as being localized peak datapoints, at Block 32. That is, any building roof data point 50 having asum of the differences of the points on opposite sides of the grid thatis substantially zero will have a substantially zero slope, as will beappreciated by those skilled in the art. This indicates that the givenpoint is not on an inclined surface, i.e., it is either located at alocalized peak or on a flat surface (both of which are referred to aslocalized peak points herein).

To determine whether the identified points are part of a flat roof, theprocessor 22 determines a standard deviation for the localized peak datapoints over a selected building roof area 52, at Block 33. The buildingroof area 52 may be selected based upon an aggregation of localized peakdata points. Selection is automatic based on a low (near zero slope)value provided by Robert's Cross Operator. If the selected building roofarea 52 is greater than a threshold portion of a total building roofarea, and if the standard deviation is below a threshold standarddeviation, then the processor 22 identifies the building roof type as aflat roof type, at Blocks 34-35. By way of example, the thresholdportion of the total building roof area may be greater than about 65%),and the threshold standard deviation may be less than about one meter.Of course, different thresholds may be used in different embodiments.The processor 22 may accordingly substitute one or more geometricobjects/shapes in place of the building data points that approximatesthe flat roof building, such as the building 100 in FIG. 10, andoptionally display the shape on the display 23 with or withoutaccompanying terrain data (i.e., ground, foliage, etc.).

If either of the above conditions is not met, however, then theprocessor 22 will proceed to determine whether the building has one ormore sloped roof portions. Referring more particularly to FIG. 4, theprocessor 22 removes groups of contiguous localized peak data pointsbeing less than a threshold in number, at Block 36. For example, a groupof less than three contiguous points may be excluded from considerationin determining whether the building roof data points correspond to asloped roof. In the illustrated example, two sets of building roof datapoints 60 a, 60 b for buildings each having a standard sloped roof areshown. After performing calculations based upon the 3×3 Robert's crossgrid 61 as described above, three groups 62 a, 63 a, 64 a and 62 b, 63b, 64 b of localized peak data points remain for the buildings 60 a, 60b, respectively.

If a given length of a contiguous localized peak data point groupremains, at Block 37, and this length has an area that is significantlyless than the entire area of the entire roof but is significantlygreater than the lengths of any other remaining groups, then theprocessor 22 identifies the roof as being of a single sloped roof type(Block 39) if no more than one such group is present, at Block 38. Inthe illustrated example, the groups 63 a and 63 b Meet this criteria andtherefore represent the apex of the sloped roof structure. However, ifthere are more than four corners, this identifies the roof as a complexsloped roof (Block 40). That is, a complex sloped roof has multiplesloped roof features with multiple apexes.

To construct a sloped or complex sloped roof, the processor 22 generatessloped roof/building shapes 65 (FIG. 5). For a single sloped roof, theprocessor 22 fits the sloped roof shape 65 to the width, length, andheight of the building corresponding to the building data points.Exemplary single sloped roof buildings 101, 102 rendered using thesloped roof shape 65 are shown in FIG. 10. For rendering a complexsloped roof which includes more than one sloped roof shape 65, thecomplex sloped roof can be segmented into a plurality of intersectingsloped roof shapes, as shown in FIG. 5, which are merged to provide asingle complex sloped roof/building structure 66.

More particularly, the process of rendering different sloped roof shapesis further illustrated in FIGS. 6 through 8. The processor 22 firstverifies that the polygon that approximates the building shape issegmentable. That is, the processor 22 checks to make sure that all ofthe angles of the building are 90° or 270° (i.e., negative 90 degrees)angles (FIG. 6( b)). Then, the shape is graphically skeletonized (FIG.6( c)) and reduced to nodes 67 and edges by removing points with exactlytwo neighbors, and then merging any adjacent points (FIG. 6( d)).

The edge points 67 are then classified based upon the number of theirrespective neighbors. That is, an edge point having one neighboring edgepoint is classified as an end point 67 a. An edge point with threeneighboring edge points, two of which are end points 67 a, is classifiedas a sloped end point 67 b. Moreover, an edge point with threeneighboring edge points, one of which is an end point 67 a, isclassified as a corner point 67 c. Further, an edge point with threeneighboring edge points and no adjacent end points 67 a is classified asa T-junction point 67 d. Additionally, an edge point having fourneighboring edge points is classified as a cross-junction point (i.e.,it is located at the center of a “+” shaped complex sloped building roofstructure), which is not shown in the example illustrated in FIG. 6.

For each edge without an end point, a rectangle is generated as shown inFIG. 7 based upon the given geometric building shape (e.g., “I” shaped,“L” shaped, “T” shaped, “U” shaped, “S” shaped, “J” shaped, or “H”shaped). For each rectangle, the slopeds are then projected. For eachsloped point not between two endpoints, this point is replaced with thenearest intersection between its sloped segment and any other slopedsegment, as illustrated in FIG. 8, to render the final complex slopedroof shape. Exemplary complex sloped roof buildings 121 through 125rendered using the above-described approach are shown in FIGS. 11 and12.

If it is determined that the roof type is neither flat nor asingle/complex sloped roof, the processor 22 then determines whether thebuilding roof data points define a circular shape, at Block 41, as willbe appreciated by those skilled in the art. Referring to FIG. 9( a), aset of circular building roof data points 90 is shown. As used herein,“circular” is meant to include not only perfect circles but alsovariations thereof, including ovals, ellipses, semicircular shapes, etc.If the building roof data points 90 do define a circular shape, then theprocessor 22 generates an elevation histogram for the heights of thepoints, at Block 42 (FIG. 9( b)). Any statistical outlying points arethen removed (FIG. 9( c)), and if the standard deviation of theremaining histogram points is below a threshold (e.g., it is lowrelative to its mean), then the roof is identified as a domed roof, andthe processor 22 substitutes an appropriate dome shape therefor. Anexemplary domed roof building 130 rendered using this approach is shownin FIG. 13.

Once the appropriate building roof type is identified and rendered (orif the roof type does not fall into one of the above-describedcategories), the illustrated method is concluded (Block 45). Of course,in an actual implementation the process may then be repeated to identifyother building roof types for different sets of building rood datapoints.

It should be noted that while the above-described exemplary approachdiscusses an order of determining roof shapes beginning with flat roofshapes, then sloped roof shapes, and lastly doomed roof shapes, thisorder may be changed in different embodiments. Generally speaking,however, if a large urban area is being classified then it is desirableto start with the most common building roof type, as this may conserveprocessing resources. For example, in a downtown area, many of thebuildings may have flat roofs, so it may be advantageous to first checkif a given set of building roof data points corresponds to a flat roof.In a suburban area, many of the buildings may be houses, which are morelikely to have sloped roof structures, and therefore in suchapplications it may be desirable to start with sloped roofidentification.

Moreover, the processor 22 need not check for every possible roof typein every embodiment. For example, it may be desirable to identify onlybuildings that have a desired type of roof in some examples, forexample. Also, the actual shapes of the buildings need not necessarilybe rendered for display. That is, the above-described approach may beused to automatically identify building roof types with or withoutsubsequent automatic roof/building rendering.

Many modifications and other embodiments of the invention will come tothe mind of one skilled in the art having the benefit of the teachingspresented in the foregoing descriptions and the associated drawings.Therefore, it is understood that the invention is not to be limited tothe specific embodiments disclosed, and that modifications andembodiments are intended to be included within the scope of the appendedclaims.

1-27. (canceled)
 28. A geospatial modeling system comprising: ageospatial model database; and a processor cooperating with saidgeospatial model database for three-dimensional shape processing, saidprocessor configured to isolate a plurality of building roof data pointsof a building, apply a centered Robert's cross grid to each of theplurality of building data points and sum distances of points onopposite sides for each side of the respective centered Robert's crossgrid, identify localized peak building roof data points from among theplurality of building roof data points based upon a comparison of thesummed distances with a threshold value, select a building roof area ofthe building, and determine a standard deviation for the localized peakbuilding roof data points over the selected building roof area.
 29. Thegeospatial modeling system of claim 28 wherein said processor isconfigured to identify a building roof type as being from among a flatroof type, a sloped roof type, a complex sloped roof type, and a domedroof type.
 30. The geospatial modeling system of claim 28 wherein saidprocessor is configured to remove ground and vegetation data points fromgeospatial model data to select the building roof data points.
 31. Thegeospatial modeling system of claim 28 wherein said processor isconfigured to identify a building roof type as a flat roof type if theselected building roof area is greater than a threshold portion of atotal building roof area, and if the standard deviation is below athreshold standard deviation.
 32. The geospatial modeling system ofclaim 28 wherein said processor is configured to remove groups ofcontiguous localized peak data points being less than a threshold innumber.
 33. The geospatial modeling system of claim 32 wherein saidprocessor is configured to identify a building roof type as a slopedroof type if a length of contiguous localized peak data points remains.34. The geospatial modeling system of claim 33 wherein said processor isconfigured to identify the building roof type as a complex sloped rooftype based upon determining a plurality of intersecting lengths ofcontiguous localized peak data points.
 35. The geospatial modelingsystem of claim 28 wherein said processor is configured to determinewhether the building roof data points define a circular shape, andcalculate at least one elevation histogram for the roof building datapoints based thereon.
 36. The geospatial modeling system of claim 28wherein said geospatial model database stores at least one respectivebuilding roof shape for each of a plurality of possible building rooftypes; and wherein said processor cooperates with said geospatial modeldatabase to substitute in place of the building roof data points atleast one respective building roof shape for an identified building rooftype.
 37. A geospatial modeling system comprising: a geospatial modeldatabase; and a processor cooperating with said geospatial modeldatabase for three-dimensional shape processing to identify a buildingroof type as being from among a flat roof type, a sloped roof type, acomplex sloped roof type, and a domed roof type; said processorconfigured to isolate a plurality of building roof data points of abuilding by removing ground and vegetation data points from geospatialmodel data, apply a centered Robert's cross grid to each of theplurality of building data points and sum distances of points onopposite sides for each side of the respective centered Robert's crossgrid, identify localized peak building roof data points from among theplurality of building roof data points based upon a comparison of thesummed distances with a threshold value, select a building roof area ofthe building, and determine a standard deviation for the localized peakbuilding roof data points over the selected building roof area.
 38. Thegeospatial modeling system of claim 37 wherein said processor isconfigured to identify a building roof type as a flat roof type if theselected building roof area is greater than a threshold portion of atotal building roof area, and if the standard deviation is below athreshold standard deviation.
 39. The geospatial modeling system ofclaim 37 wherein said processor is configured to remove groups ofcontiguous localized peak data points being less than a threshold innumber.
 40. The geospatial modeling system of claim 39 wherein saidprocessor is configured to identify a building roof type as a slopedroof type if a length of contiguous localized peak data points remains.41. The geospatial modeling system of claim 40 wherein said processor isconfigured to identify the building roof type as a complex sloped rooftype based upon determining a plurality of intersecting lengths ofcontiguous localized peak data points.
 42. The geospatial modelingsystem of claim 37 wherein said processor is configured to determinewhether the building roof data points define a circular shape, andcalculate at least one elevation histogram for the roof building datapoints based thereon.
 43. The geospatial modeling system of claim 37wherein said geospatial model database stores at least one respectivebuilding roof shape for each of a plurality of possible building rooftypes; and wherein said processor cooperates with said geospatial modeldatabase to substitute in place of the building roof data points atleast one respective building roof shape for an identified building rooftype.
 44. A geospatial modeling method comprising: storing building roofdata points in a geospatial model database; and using a processorcooperating with the geospatial model database for three-dimensionalshape processing to isolate a plurality of building roof data points ofa building, apply a centered Robert's cross grid to each of theplurality of building data points and sum distances of points onopposite sides for each side of the respective centered Robert's crossgrid, identify localized peak building roof data points from among theplurality of building roof data points based upon a comparison of thesummed distances with a threshold value, select a building roof area ofthe building, and determine a standard deviation for the localized peakbuilding roof data points over the selected building roof area.
 45. Themethod of claim 44 further comprising identifying a building roof typeas being from among a flat roof type, a sloped roof type, a complexsloped roof type, and a domed roof type.
 46. The method of claim 44further comprising removing ground and vegetation data points fromgeospatial model data to select the building roof data points.
 47. Themethod of claim 44 further comprising to identifying a building rooftype as a flat roof type if the selected building roof area is greaterthan a threshold portion of a total building roof area, and if thestandard deviation is below a threshold standard deviation.
 48. Themethod of claim 44 further comprising to removing groups of contiguouslocalized peak data points being less than a threshold in number. 49.The method of claim 48 further comprising identifying a building rooftype as a sloped roof type if a length of contiguous localized peak datapoints remains.
 50. The method of claim 49 further comprisingidentifying the building roof type as a complex sloped roof type basedupon determining a plurality of intersecting lengths of contiguouslocalized peak data points.
 51. The method of claim 44 furthercomprising determining whether the building roof data points define acircular shape, and calculating at least one elevation histogram for theroof building data points based thereon.